#设置编译器
CXX=g++
CC=gcc
#debug文件夹里的makefile文件需要最后执行，所以这里需要执行的子目录要排除debug文件夹，这里使用awk排除了debug文件夹，读取剩下的文件夹
SUBDIRS=$(shell ls -l | grep ^d | awk '{if($$9 != "debug") print $$9}')
#无需下一行的注释代码，因为我们已经知道debug里的makefile是最后执行的，所以最后直接去debug目录下执行指定的makefile文件就行，具体下面有注释
#DEBUG=$(shell ls -l | grep ^d | awk '{if($$9 == "debug") print $$9}')
#记住当前工程的根目录路径
ROOT_DIR=$(shell pwd)
#最终bin文件的名字，可以更改为自己需要的
BIN=main.bin
COMPILE_TYPE=building
COMPILE_DIR=$(ROOT_DIR)/$(COMPILE_TYPE)
#bin文件所在的目录
BIN_DIR=$(ROOT_DIR)/bin
WEBSOCKET_INCLUDE_DIR=$(ROOT_DIR)/3rd/websocketpp
#将以下变量导出到子shell中，本次相当于导出到子目录下的makefile中
export CXX BIN OBJS_DIR BIN_DIR ROOT_DIR COMPILE_DIR WEBSOCKET_INCLUDE_DIR

all:ENV	
	@cp -rf ./src/*  $(COMPILE_DIR)/
	make -C $(COMPILE_DIR)
install:
	@sudo cp -rf $(BIN_DIR)/* /
ENV:distclean
	if [ ! -d $(COMPILE_DIR) ]; then mkdir -p $(COMPILE_DIR); fi;
distclean:
	@rm -rf $(COMPILE_DIR)/*
